package ventana;

import java.awt.Color;

import model.UsuarioListador;

import org.uqbar.arena.actions.MessageSend;
import org.uqbar.arena.layout.ColumnLayout;
import org.uqbar.arena.widgets.Button;
import org.uqbar.arena.widgets.Label;
import org.uqbar.arena.widgets.Panel;
import org.uqbar.arena.widgets.tables.Column;
import org.uqbar.arena.widgets.tables.Table;
import org.uqbar.arena.windows.SimpleWindow;
import org.uqbar.arena.windows.WindowOwner;

import ar.edu.utn.frba.dds.aterrizar.busquedas.Vuelo;

@SuppressWarnings("serial")
public class ListadoWindow extends SimpleWindow<UsuarioListador> 
{
	public ListadoWindow(WindowOwner parent, UsuarioListador usuarioListador) {
		super(parent, usuarioListador);
	}

	@Override
	protected void addActions(Panel actionsPanel) {
		new Button(actionsPanel) 
		.setCaption("Cerrar")
		.onClick(new MessageSend(this, "close"));
	}

	@Override
	protected void createFormPanel(Panel mainPanel) {
		Panel searchFormPanel = new Panel(mainPanel);
		searchFormPanel.setLayout(new ColumnLayout(2));

		new Label(searchFormPanel).setText("Nombre del cliente").setForeground(Color.BLUE);
		new Label(searchFormPanel).bindValueToProperty("usuario");
		
		this.createResultsGrid(mainPanel);
	}

	protected void createResultsGrid(Panel mainPanel) {
		Table<Vuelo> table = new Table<Vuelo>(mainPanel, Vuelo.class);
		table.setHeigth(200);
		table.setWidth(450);

		table.bindItemsToProperty("tblvuelos");
		table.bindValueToProperty("vueloSeleccionado");

		this.describeResultsGrid(table);
	}	
	protected void describeResultsGrid(Table<Vuelo> table) {

		Column<Vuelo> horarioColumn = new Column<Vuelo>(table);
		horarioColumn.setTitle("Salida");
		horarioColumn.setFixedSize(100);
		horarioColumn.bindContentsToProperty("fechaSalida");
		
		Column<Vuelo> aerolineaColumn = new Column<Vuelo>(table);
		aerolineaColumn.setTitle("Aerolinea");
		aerolineaColumn.setFixedSize(150);
		aerolineaColumn.bindContentsToProperty("aerolineaDenominacion");

		Column<Vuelo> codigoColumn = new Column<Vuelo>(table);
		codigoColumn.setTitle("Vuelo");
		codigoColumn.setFixedSize(80);
		codigoColumn.bindContentsToProperty("codigoDeVuelo");
		
		Column<Vuelo> asientoColumn = new Column<Vuelo>(table);
		asientoColumn.setTitle("Asiento");
		asientoColumn.setFixedSize(80);
		asientoColumn.bindContentsToProperty("codigoDeAsiento");
			
		Column<Vuelo> precioColumn = new Column<Vuelo>(table);
		precioColumn.setTitle("Precio");
		precioColumn.setFixedSize(57);
		precioColumn.bindContentsToProperty("precioBase");
	}
}